Skip to content

feat(vehicle): evidence write bridge — runtime learning write-path (P2-6)#41

Merged
selimmujdeci merged 2 commits into
mainfrom
feat/vehicle-learning-evidence-bridge
Jul 10, 2026
Merged

feat(vehicle): evidence write bridge — runtime learning write-path (P2-6)#41
selimmujdeci merged 2 commits into
mainfrom
feat/vehicle-learning-evidence-bridge

Conversation

@selimmujdeci

Copy link
Copy Markdown
Owner

Amaç

P2-1→P2-5 öğrenme katmanları kuruldu ama Evidence Store'a runtime yazıcı yoktu (Integration Service yalnız list() okuyordu) → learning rozetleri / Expert özeti / diagnostic learning context BOŞ kalıyordu. Bu PR eksik write-path'i güvenli şekilde bağlar.

Data Flow

Vehicle Knowledge Base (discovery + VID değişimi — SALT-OKUNUR gözlenir)
    ↓  debounce'lu cold-path tetik
vehicleLearningEngine.computeEvidence()   (formül DEĞİŞMEZ)
    ↓
vehicleLearningEvidenceStore.save()       (idempotent reproject)
    ↓
Pattern / Integration Service list() → Dashboard / Expert / Diagnostic dolar

Yeni dosyalar

  • src/platform/vehicleLearningEvidenceBridge.ts — köprü/orkestrasyon katmanı
  • src/__tests__/vehicleLearningEvidenceBridge.test.ts — 12 test

Değişen dosyalar

Trigger + Throttle + Tier

  • Tetik: discovery gözlemi (discoveryCaptureService.subscribe) + VID kimlik değişimi (useVidStore.subscribe) — 3Hz OBD hot-path'e GİRMEZ.
  • Debounce (coalesce): BALANCED/HIGH 8sn, BASIC_JS(low) 20sn (seyrek).
  • Idempotent save(): createdAt korunur, observationCount ŞİŞMEZ, vehicleCount distinct kalır → tekrar yazımda büyümez.
  • Lifecycle: start() idempotent (duplicate abonelik yok) · stop()/dispose() zero-leak · dispose() kapanışta final flush · fail-soft (köprü hatası OBD/Discovery akışına sızmaz) · bounded (store 512 LRU).

Değişmeyen (KESİN SINIR)

Confidence/decay/pattern-promotion formülleri · Discovery capture/queue · Fingerprint · Auto Learning · VKB · Manufacturer Intelligence · Diagnostic safety/severity/driveSafe · PID/DID registry. Cloud/SQL/LLM/Native YOK. PR #11 / PR #20'ye dokunulmadı.

Doğrulama

  • npx vitest run12/12 geçti
  • npx tsc -btemiz

Risk

Düşük-Orta — runtime write-path açar; bounded store + throttled writes + cold-path + fail-soft + zero-leak ile sınırlandı. 🔴 Cihazda test edilmedi (Ledger #26 kabul ölçütleriyle).

🤖 Generated with Claude Code

…2-6)

Evidence Store'a runtime yazıcı yoktu (Integration Service yalnız list() okuyordu)
→ learning rozetleri/Expert özeti/diagnostic learning context boş kalıyordu. Bu köprü
eksik write-path'i cold-path'te bağlar:

- VKB güncellenince (discovery gözlemi + VID kimlik değişimi abonelikleri) debounce'lu
  tetiklenir → vehicleLearningEngine.computeEvidence() → Evidence Store.save() (idempotent
  reproject: createdAt korunur, observationCount şişmez, vehicleCount distinct).
- 3Hz OBD hot-path'e girmez; BALANCED/HIGH 8sn, BASIC_JS(low) 20sn debounce.
- start() idempotent (duplicate abonelik yok); stop/dispose zero-leak; dispose kapanışta
  final flush; fail-soft (köprü hatası OBD/Discovery akışına sızmaz); bounded (store 512 LRU).
- SystemBoot Wave-3: VKB'den SONRA başlar, _reg ile cleanup.

Formüller (confidence/decay/pattern-promotion) · Discovery capture/queue · Fingerprint ·
Auto Learning · VKB · Manufacturer Intelligence · Diagnostic safety/severity/driveSafe ·
PID/DID registry DEĞİŞMEZ. Cloud/SQL/LLM/Native YOK.

Test: 12 (trigger+write, duplicate-yok, vehicleCount-şişmez, observationCount-doğru,
debounce-coalesce, low-seyrek, fail-soft x4, lifecycle idempotent/stop/dispose-flush).
Ledger #26 🔴 (cihazda test bekliyor).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TPnPns3eJrjWv7eBz3E6hV
@vercel

vercel Bot commented Jul 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
car-launcher-pro Ready Ready Preview, Comment Jul 10, 2026 8:15am
carospro Ready Ready Preview, Comment Jul 10, 2026 8:15am

}

private _debounceMs(): number {
let t: DeviceTier = 'high';
…f import)

Evidence Write Bridge, vehicleLearningEvidenceStore'u ilk kez SystemBoot import
grafiğine sokuyor; store safeStorage.safeRemoveRaw kullanıyor. cleanup.services /
cleanup.remote testlerinin safeStorage mock'u bu export'u vermiyordu → suite
collection düşüyordu. Eksik export mock'a eklendi (davranış değişmez).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TPnPns3eJrjWv7eBz3E6hV
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants